High speed multifunction testing and calibration of electronic electricity meters

ABSTRACT

High speed multifunction testing and calibration of electronic electricity meters comprises whole cycle synchronized testing. More specifically, start and end test commands defining a test interval synchronized to whole cycles of the pulsating a.c. potentials and currents are signaled by a meter under test (MUT) to a plurality of standard meters, during which multiple electrical quantities are accumulated by both the MUT and the standard meters. The MUT accumulated quantities and the accumulated quantities of the standard meters are communicated to the external test device for comparison. These comparisons may be used by the external test device to calculate coefficients for correcting or calibrating the MUT. The coefficients are transmitted to the MUT where they are incorporated into the algorithms for calculation of the desired electrical quantities.

BACKGROUND OF THE INVENTION

The present invention relates to testing and calibration of electronic electricity meters. More specifically, the present invention relates to high speed multifunction testing and calibration of electronic electricity meters.

Calibration of electricity meters is typically verified by comparison of a meter under test (MUT) to a standard, or reference, meter for a time interval. The initiation of the time interval being signaled by the meter under test. The standard meter and MUT measure the same, or proportionate, electrical loads during the test interval. This has been the preferred way to test electricity meters for the last fifty years. With electromechanical single function electricity meters, the test interval corresponds to an exact number of revolutions of the meter disk for the MUT. With electronic meters, the test interval corresponds to some internal procedural step, or threshold. With either kind of meter, the test interval corresponds to a known quantum of electricity (known by the measurement of the standard meter) measured by the MUT.

Typically, prior to the start of the test interval, several seconds are allowed for loads to be established and meters to reach practically steady-state conditions; known as on-the-fly testing. Testing of individual elements, or stators, of polyphase meters has been carried out by a sequence of tests: one for each element and one for all elements combined. Additionally, the pulsating nature of a.c. quantities require extended test intervals to reduce their relative effects on the accuracy of comparisons where the MUT and the standard have different time characteristics, effective level of filtering, or smoothing. It is important to note, that a.c. power as watts integrated over time is sinusoidal and not a straight line. Many electronic meters track a.c. energy exactly, i.e., sinusoidally. However, many electronic standards used for meter calibration are filtered to give the appearance of smoothing out the sinusoidal. Comparing two such different devices can result in differences between their readings. This phenomenon was not an issue with electromechanical meters, as they inherently exhibited heavily filtered characteristics.

Referring to FIG. 1, herein, labeled prior art, the cyclic nature of a.c. power is shown. By way of example, two meters having equal accuracy: the first, a heavily filtered meter, integrates average power with respect to time, and the second, an unfiltered meter, integrates instantaneous power with respect to time. The energy curves of these meters are compared, e.g., during a time interval `a` to `b`.

The unfiltered meter records energy proportional to the cross hatched area. The filtered meter will record in proportion to the area bounded by the vertical lines `a/T` and `b/T`, the abscissa, and the average power line, the broken line designated `P`. In this example, the cross hatched area is obviously larger; for other values of `a` and `b`, it could be smaller or even the same.

Deviations that can occur in comparing meters are dependent on when in the voltage cycle, at `a/T`, the test starts and the test duration, defined by: (b-a)/T. As discussed hereinabove, the start is typically triggered by the meter under test (MUT) and usually not controlled. However, the prior art has addressed this problem by selecting a minimum comparison time which allows the limits of uncertainty to be managed.

By way of example, referring to FIG. 2, herein, labeled prior art, a plot is shown which is used to aid in selecting minimum test times with a desired accuracy. In one example, with an acceptable level of uncertainty of ±0.05%, the intersection on the 1.00 PF line is at approximately 5.3 seconds. Accordingly, the test time must be greater than 5.3 seconds at 1.00 PF at 60 Hz to obtain a 0.01% level of uncertainty in the comparison. Twice and four times as long are needed for similar uncertainty levels of 0.50% and 0.25 PF respectively. In general, with all the other variations unchanged, the longer the test interval the less the relative uncertainty.

SUMMARY OF THE INVENTION

The above-discussed and other drawbacks and deficiencies of the prior art are overcome or alleviated by the high speed multifunction testing and calibration of electronic electricity meters of the present invention. In accordance with the present invention, start and end test commands defining a test interval synchronized to whole cycles of the pulsating a.c. potentials and currents are signaled by a meter under test (MUT) to a plurality of standard meters, during which multiple electrical quantities are accumulated by both the MUT and the standard meters. The MUT accumulated quantities and the accumulated quantities of the standard meters are communicated to the external test device for comparison. These comparisons may be used by the external test device to calculate coefficients for correcting or calibrating the MUT. The coefficients are transmitted to the MUT where they are incorporated into the algorithms for calculation of the desired electrical quantities.

Accordingly, it is an important feature of the present invention that testing time is significantly reduce over the prior art method. Further, it is an important feature of the present invention that multiple testing functions can be accomplished during this short time interval due to the recording of the accumulations of electrical quantities during the test interval, in effect, one test replaces a sequence of prior art tests.

The following steps are followed in the electronic electricity meter during testing:

(1) receiving, at the MUT, a test ready and length of test message from an external test assembly; the length of test being defined by an integer number of whole cycles of a source;

(2) switching the electronic electricity meter from a communication mode of operation to a test/calibration mode of operation;

(3) clearing test accumulators in the MUT and the external teat device;

(4) sending a synchronized test start signal from the MUT to the external test assembly;

(5) separately accumulating at least one measured electrical quantity of the source for each of the MUT and the external test assembly until the length of the test is exhausted;

(6) sending a synchronized test end signal from the MUT to the external test assembly;

(7) switching the MUT from the test/calibration mode of operation to the communication mode of operation;

(8) receiving a send test data message at the MUT from the external test assembly;

(9) sending the at least one accumulated measured electrical quantity from the MUT to the external test assembly; and

(10) verifying the at least one accumulated measured electrical quantity of the MUT with a corresponding at least one accumulated measured electrical quantity of the external test assembly.

The separately accumulated electrical quantities involved in a single test interval of multifunction electricity meters may be, but are not limited to, by element, or phase, and their totals: fundamental potential-squared hours, current-squared hours, Watthours, and varhours; fundamental plus harmonic potential-squared hours, current-squared hours, Watthours, and varhours; imputed neutral current-squared hours; apparent Volt-Ampere hours, and distortion Volt-Ampere hours.

The above-discussed and other features and advantages of the present invention will be appreciated and understood by those skilled in the art from the following detailed description and drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

Referring now to the drawings wherein like elements are numbered alike in the several FIGURES:

FIG. 1 is a plot of voltage cycles versus volts, amps, watts illustrating the cyclic nature of a.c. power;

FIG. 2 is a plot of time versus percent uncertainty used in the prior art to aid in selecting minimum test time with a desired accuracy;

FIG. 3 is a schematic diagram of an electronic electricity meter in accordance with the present invention;

FIG. 4 is a table of metered values for the electronic electricity meter of FIG. 3;

FIG. 5 is a block diagram of a testing/calibration configuration in accordance with the present invention; and

FIGS. 6A and B are a software structure chart of the testing/calibration procedures in accordance with an example of the present invention.

DESCRIPTION OF THE PREFERRED EMBODIMENT

In general, the present invention comprises high speed, whole cycle synchronized, multifunction testing and calibration of an electronic electricity meter 10.

Referring to FIG. 3, a general schematic of electronic electricity meter 10, i.e., a meter under test (MUT), is generally shown. Meter 10 comprises a voltage sensor 12 which provides analog signals indicative of voltage measurements on a signal line 14 and a current sensor 16 which provides analog signals indicative of a current measurements on a signal line 18. The analog signals on lines 14 and 18 are presented to a data acquisition platform (DAP) 20, which converts these analog signals to digital signals. The digital signals are presented over a bus 22 to a digital signal processor (DSP) 24 where short interval calculations (e.g., energy calculations) are performed. These calculations are presented over a bus 26 to a microcomputer (MC) 28 which is capable of performing demand, TOU (time of use), reactive, KVA and other calculations. Meter 10 further includes RAM (random access memory) 30 which communicates with the microcomputer 28 over a control bus 32. It will be appreciated that the RAM is non-volatile so that system information and programming will not be lost during a power interruption or outage. Data, typically maximum demand, is displayed by a LCD (liquid crystal display) 34 in response to display signals received from microcomputer 28 over a signal line 36. Calibration, testing, programming and other features are accomplished through an optical communications I/O port 38, which communicates with microcomputer 28 over lines 40. Power supply 42 which is typically powered by the service electricity provides appropriate power over lines 44 to the components of meter 10.

MC 28 communicates with DSP 24 in several capacities. MC 28 writes configuration data to DSP 24 upon initialization. Some of that data gets passed on to DAP 20, while the rest defines different modes of processing the samples. DSP 24 has the ability to receive new coefficients for gain and phase correction. DSP 24 provides a frame of data for every interval of orthogonality which is 50 cycles of a 50 Hz system or 60 cycles of a 60 Hz system.

DSP 24 processes under steady state operation. Most of that processing is repetitive and must be done for every sampling interval. Processing is also performed in the background, i.e., the time in between completion of the present sample's processing to the start of the next samples' processing. DSP 24 acquires samples from the DAP 20 when it signals that it has data.

Referring to FIG. 4, the values shown in the table are the metered values for MUT 60. Of these values, the I² ₁ values are dropped because they may be unambiguously derived from other values in the table. Quantities with the subscript "1" exclude all harmonic content. The value K is the number of samples in a momentary interval. The interval, in the present example, is defined to be the nominal number of cycles for the frequency of in hertz of the source, e.g., for a 60 Hz source the interval will be 60 cycles. For each accumulation cell shown above, 32 bits of storage in data RAM are required. After each sample is processed, all accumulation cells must be updated. When the momentary interval is complete, 16-bit windows of the accumulated values are transmitted to MC 28. The window is the most significant word (MSW) of the accumulated value.

To optimize the operation of DSP 24, many operations are performed every other sample. In particular, accumulation and filter evaluation of narrow band filtered signals are done every other sample. To preserve orthogonality, momentary intervals always contain an even number of samples so that each accumulation is guaranteed to be composed of the same number of samples.

For each momentary interval, the total energy is added to an accumulator with a specified threshold. When that threshold is exceeded, a pulse is issued. The pulses are used to drive an light emitting diode (LED) used in calibration and adjustment procedures.

DSP 24 also counts the zero crosses of the input or source. This is accomplished by tracking a weighted phasor (vector) sum of the three input voltages which have had all non-fundamental components filtered out (narrow band filtered). This vector sum guarantees that the presence of any phase of voltage allows time to be kept properly. This, in combination with another low pass filter stage should take care of any undesired zero crosses. Only positive going zero cross counts are recorded. These are used to count cycles and determine when to end a momentary interval. As long as valid zero crosses are being detected, MC 28 keeps time from the DSP interrupts which occur as frequently as MC 28 has specified. Detecting zero crosses is required for sampling. MC 28 processes the samples to determine its frequency content.

Any data transmitted to DSP 24 is considered configuration data. The configuration data is processed by DSP 24 for steady state operation, i.e., after initializing. DSP 24 in the operating mode accumulates measurement over momentary intervals. MC 28 reads out the accumulated data after each interval. Momentary intervals are measured using zero crossings on a selected phase of voltage.

The communication master may only write commands, while the slave may only write data. It is the responsibility of the MC to let the DSP be communications master so it may initiate commands. All commands which affect critical data (e.g., calibration, configuration, thresholds) are issued by the DSP when it is the master. When the MC is the master, it sets the commands (SCM) it wants the DSP to execute. The MC then makes the DSP the master.

Referring to FIG. 5, a phantom loading and control circuit 50 connected to a supply or input, lines 52, 54, is connected by lines 56, 58 to MUT 10 and a plurality of standard meters 62-64. Phantom loading is well known in the art, reference being made to the Handbook For Electricity Metering, Ninth Edition, published by the Edison Electric Institute. In general, phantom loading comprise a small power transformer, which is connected to the source, and an adjustable loading resistance (or an adjustable source with a fixed resistance). Start and end commands defining a test interval synchronized to an integer number of whole cycles of the pulsating a.c. potentials and currents of the source is signaled to standard meters 62-64 by MUT 10. Since MUT 10 samples and accumulates energy in whole cycles (i.e., with detection of the zero crossings), as described above, the test interval is also defined in whole cycles. By way of example, with a 60 Hz source a test interval could be the time it takes for the MUT to detect the 60 cycles. This would be exactly one second providing that there are no variations in the source frequency, i.e., it is maintained at exactly 60 Hz. Accordingly, MUT 10 would initiate the start of the test interval, count the 60 cycles, then initiate the end or stop of the test interval.

Multiple electrical quantities are accumulated by MUT 10, during the test interval. Multiple electrical quantities are also accumulated by an external test device (e.g., a computer) 66 from the standard meters 62-64 over lines 68-70, respectively. Multiple electrical quantities can be tested as multiple standard meters are used, one for each of electrical quantities. It is within the scope of the present invention, that a single standard meter could be used, providing it generated a standard for each of the electrical quantities, e.g., similar to the MUT. The method of the present invention, significantly improves testing time as compared to the prior art when more than one electrical quantity is to be tested. In the prior art a separate test was run for each electrical quantity to be tested, using a standard meter dedicated to testing that particular electrical quantity.

Further, as described above, the quantities accumulated by the external device 66 from the standard meters 62-64 are only for the count of the 60 cycles. Moreover, since the MUT and the standard meters are reading the same source, of which the MUT is counting cycles (it must be remembered that these are whole cycles), the uncertainty of the prior art minimum test time method is eliminated. The use of whole cycles eliminates the necessity to use longer test intervals of the prior art, which are required for averaging out the effect of the MUT and the standard meter not starting and stopping at the same point in a cycle, i.e., not whole cycles.

MUT 10 accumulated quantities are communicated to the external test device 66, over a line 72, for comparison with the accumulated quantities of the standard meters 62-64. It is within the scope of the present invention that the standard meters and the external test device could be incorporated into a single test unit are assembly. These comparisons may be used by the external test device 66 (e.g., a computer such as a PC) to calculate coefficients for correcting or calibrating the MUT 10. The coefficients are transmitted to the MUT 10 where they are incorporated into the algorithms for calculation of the desired electrical quantities.

The separately accumulated electrical quantities involved in a single test interval of multifunction electricity meters may be, but are not limited to, by element, or phase, and their totals: fundamental potential-squared hours (volt-squared hours), current-squared hours (amp-squared hours), Watthours (energy), and varhours (quadergy); fundamental plus harmonic potential-squared hours, current-squared hours, Watthours, and varhours (quadergy); imputed neutral current-squared hours; apparent Volt-Ampere hours, and distortion Volt-Ampere hours.

In summary, the following steps are followed in the MUT during testing:

(1) receiving, at the MUT, a test ready and length of test message from an external test assembly; the length of test being defined by an integer number of whole cycles of a source;

(2) switching the electronic electricity meter from a communication mode of operation to a test/calibration mode of operation;

(3) clearing test accumulators in the MUT and the external test device;

(4) sending a synchronized test start signal from the MUT to the external test assembly;

(5) separately accumulating at least one measured electrical quantity of the source for each of the MUT and the external test assembly until the length of the test is exhausted;

(6) sending a synchronized test end signal from the MUT to the external test assembly;

(7) switching the MUT from the test/calibration mode of operation to the communication mode of operation;

(8) receiving a send test data message at the MUT from the external test assembly;

(9) sending the at least one accumulated measured electrical quantity from the MUT to the external test assembly; and

(10) verifying the at least one accumulated measured electrical quantity of the MUT with a corresponding at least one accumulated measured electrical quantity of the external test assembly.

By way of an example, referring to FIGS. 6A and B. a software structure chart of the testing/calibration procedures of the present invention is generally shown.

In a CAL₋₋ WAIT₋₋ TO₋₋ START₋₋ INTERVAL state, i.e., block 110, the meter is waiting for the DSP 24 to send an IDR (Interval Data Ready) command, which marks the start of a calibration interval. The IRD command is issued when the DSP has completed processing a momentary interval. It signals the MC that it may read out the interval data. Successful transmission of this command clears the IDR flag in the Command Byte. The IDR₋₋ command₋₋ rcvd₋₋ pulse, line 112, occurs when the DSP 24 interrupts the meter and the meter reads the IDR command from the DSP 24. At this point the send₋₋ cal₋₋ pulse () is performed, MC₋₋ MSTR line is set to zero, set₋₋ dsp₋₋ comm₋₋ timout (TRUE) is performed, dsp₋₋ cal₋₋ mode₋₋ data.cal₋₋ task₋₋ count is set to zero, DSP24₋₋ interface₋₋ status is set to CAL-NWM, and the interrupt service routine exits.

In a CAL₋₋ NWM state, block 114, the meter is waiting for the NWM (New Master) command from the DSP 24 . The NWM₋₋ command₋₋ received ₋₋ 1 transition, line 116, occurs when the DSP 24 interrupts the meter and an NWM command is read from the DSP 24. The NWM command is issued as part of a sequence that is executed whenever the communication master changes, i.e., the XF signal is brought low, the NWM command is transmitted, and the signal is brought high. At this point the RTD (Read Table Data) command is sent to the DSP 24, dsp₋₋ interface₋₋ status is set to NORM₋₋ RTD (in normal mode) or CAL₋₋ RTD (in calibration mode), a call is made to set₋₋ dsp₋₋ comm₋₋ timeout (TRUE), momentary₋₋ interval₋₋ data ₋₋ pointer is set to the top of the momentary interval measurement data memory, dsp₋₋ status₋₋ byte, which will be used for the table data checksum, is set to zero, and the interrupt service routine exits. The RTDcommand is a request for the DSP to send its interval data. In the normal mode, the MC will issue this command after receiving an Interval Data Ready message (and asserting REG₋₋ MSTR).

In a CAL₋₋ XF₋₋ HIGH₋₋ 1 state, block 118, the meter is reading the XF signal from the DSP 24 and checking it to determine if it has gone high. The XF signal going high is an acknowledgment from the DSP 24 that the task of switching communication master is complete. If the XF signal does not go high after a number (e.g., 5) DSP 24 sample times, the DSP 24 is reset and initialized. This is determined by looking at the Timer C interrupt request flag. The XF₋₋ signal₋₋ high₋₋ 1 signal, line 120, occurs when the XF signal from the DSP 24 goes high after it has sent the NWM command. It is an acknowledgment from the DSP 24 that the meter is the communication master. At this point the RTD (Read Table Data) command is sent tot he DSP 24, dsp₋₋ interface₋₋ status is set to NORM₋₋ RTD (in normal mode) or CAL RTD (in calibration mode), a call is made to set₋₋ dsp₋₋ comm₋₋ timeout (TRUE), momentary₋₋ interval₋₋ data₋₋ pointer is set to the top of the momentary interval measurement data memory, dsp₋₋ status₋₋ byte, which will be used for the table data checksum, is set to zero, and the interrupt service routine exits.

In a CAL₋₋ RTD state, block 122, the meter is waiting for the first byte of table data to be available from the DSP 24. The table₋₋ data₋₋ ready transition, line 124, occurs when the DSP 24 interrupts the meter indicating that the first byte of the table data is ready to be read. The data byte is read from the DSP 24, stored in the memory location pointed to by memory₋₋ interval₋₋ data₋₋ pointer, XORed with dsp₋₋ status₋₋ byte (which is used as the table data checksum), and momentary₋₋ interval₋₋ data₋₋ pointer is incremented. In normal mode the dsp₋₋ interface₋₋ status is set to NORM₋₋ READING₋₋ TABLE₋₋ DATA (if this is the first attempt at reading the table data) or TABLE₋₋ DATA₋₋ RETRY (if this is the second attempt at reading the table data). In the calibration mode the dsp₋₋ interface₋₋ status is set to CAL₋₋ READING₋₋ TABLE₋₋ DATA, block 126, or CAL₋₋ TABLE₋₋ DATA₋₋ RETRY, block 127. Also, in normal mode only, vsqh₋₋ data₋₋ available is set to DATA₋₋ NOT₋₋ AVAILABLE. Finally, a call is made to set₋₋ dsp₋₋ comm₋₋ timeout (TRUE) and interrupt service routine exits.

In a CAL₋₋ READING₋₋ TABLE₋₋ DATA state, block 126, the meter is reading the table data from the DSP 24. Each time the interrupt occurs, the interrupt service routine reads the byte from the DSP 24, stores it in the location pointed to by momentary₋₋ interval₋₋ data pointer, XORs the byte with the dsp₋₋ status₋₋ byte (used as the table data checksum), and updates momentary₋₋ interval₋₋ data₋₋ pointer. A call is then made to set₋₋ dsp₋₋ comm₋₋ timeout (TRUE), and the interrupt service routine exits. It will be noted that all the momentary interval data is stored in contiguous memory and in the order in which it is received from the DSP 24. The cal₋₋ tbl₋₋ data₋₋ rcvd₋₋ complete transition, line 128, occurs when the meter has read the last byte of the table data from the DSP 24 during calibration mode and a calibration interval is not in progress (i.e., cal₋₋ interval₋₋ count equals zero). At this point the RDS (Read Status) command is sent to the DSP 24, the dsp₋₋ interface₋₋ status is set to CAL₋₋ RDS, a call is made to set₋₋ dsp₋₋ comm₋₋ timeout (TRUE), and the interrupt service routine exits. The table data is not added to the calibration interval accumulators. The cal₋₋ tbl₋₋ data₋₋ rcvd₋₋ in₋₋ progress transition, block 130, occurs when the meter has the last byte of the table data from the DSP 24 during calibration mode, the checksum at the end of the table data is correct, and a calibration interval is in progress (i.e. cal₋₋ interval₋₋ count is greater than zero and bit 7 of dsp₋₋ cal₋₋ mode₋₋ status equals zero). At this point the table data is added to the calibration interval accumulators, the RDS (Read Status) command is sent to the DSP 24, the dsp₋₋ interface₋₋ status is set to CAL₋₋ RDS, a call is made to set dsp₋₋ comm₋₋ timeout (TRUE), and the interrupt service routine exits. The cal₋₋ tbl₋₋ data₋₋ rcvd₋₋ start transition, line 132, occurs when the meter has read the last byte of the table data from the DSP 24 during calibration mode and a calibration interval is just starting (i.e. bit 7 of dsp₋₋ cal₋₋ mode₋₋ status equals one). At this point the RDS (Read Status) command is sent to the DSP 24, the dsp₋₋ interface₋₋ status is set to CAL₋₋ RDS, a call is made to set₋₋ dsp₋₋ comm₋₋ timeout (TRUE), and the interrupt service routine exits. The table data is not added to the calibration interval accumulators.

The table₋₋ data₋₋ csum₋₋ failed transition, line 134, occurs when the checksum sent with the table data is incorrect. When this happens, another RTD (Read Table Data) command is set to the DSP 24, the dsp₋₋ interface₋₋ status is set to TABLE₋₋ DATA₋₋ CSUM₋₋ ERROR (in normal mode) or CAL₋₋ TABLE₋₋ DATA₋₋ CSUM₋₋ ERROR (in calibration mode), block 136, a call is made to set₋₋ dsp₋₋ comm₋₋ timeout (TRUE), dsp₋₋ status₋₋ byte is set to zero, momentary₋₋ interval₋₋ data₋₋ pointer is set to the top of the momentary interval measurement data memory, and the interrupt service routine exits, allowing the meter to return to background processing.

During the CAL₋₋ TABLE₋₋ DATA₋₋ RETRY state, block 127, the meter is reading the table data from the DSP 24. Each time the interrupt occurs, the interrupt service routine reads the byte from the DSP 24, stores it in the location pointed to by momentary₋₋ interval₋₋ data₋₋ pointer, XORs the byte with the dsp₋₋ status₋₋ byte (used as the table data checksum), and updates momentary₋₋ interval₋₋ data₋₋ pointer. The DSP 24 interface is in the CAL₋₋ QUIET mode, block 142, between momentary intervals during the calibration mode. In this state the meter is waiting for the DSP 24 to send its status byte. During this state the meter is reading the table data from the DSP 24. Each time the interrupt occurs, the interrupt service routine reads the byte from the DSP 24, stores it in the location pointed to by momentary interval data pointer, XORs the byte with the dsp₋₋ status₋₋ byte (used as the table data checksum), and updates momentary₋₋ interval₋₋ data₋₋ pointer. It will be noted, that all the momentary interval data is stored in contiguous memory and in the order in which it is received from the DSP 24. A call is then made to set₋₋ dsp₋₋ comm₋₋ timeout (TRUE), and the interrupt service routine exits.

The cal₋₋ table₋₋ read₋₋ retry₋₋ complete transition, line 144, occurs during calibration mode when the second table data read is complete. If a calibration interval is not in progress (i.e. cal₋₋ interval₋₋ count equals zero), the RDS command is sent to the DSP 24, the interface₋₋ status is set to CAL₋₋ RDS, block 146, a call is made to set₋₋ dsp₋₋ comm₋₋ timeout (TRUE), and the interrupt service routine exits. The table data is not added to the calibration interval accumulators. If a calibration interval is in progress (i.e. cal₋₋ interval₋₋ count is greater than zero and bit 7 of DAP 20₋₋ cal₋₋ mode₋₋ status is zero), the table data is added to the calibration interval accumulators, bit 1 of the dsp₋₋ cal₋₋ mode₋₋ status byte is set to 1 if the checksum was incorrect, the RDS (Read Status) command is sent to the DSP 24, the dsp₋₋ interface₋₋ status is set to CAL₋₋ RDS, block 146, a call is made to set₋₋ dsp₋₋ comm₋₋ timeout (TRUE), and the interrupt service routine exits. If a calibration interval is just starting (i.e. bit 7 of dsp₋₋ cal₋₋ mode₋₋ status equals 1), the RDS command is sent to the DSP 24, the dsp₋₋ interface₋₋ status is set to CAL₋₋ RDS, block 146, a call is made to set₋₋ dsp₋₋ comm₋₋ timeout (TRUE), and the interrupt service routine exits. The table data is not added to the calibration interval accumulators. The CAL₋₋ RDS waits for the DSP 24 to send its status byte.

The cal₋₋ status₋₋ byte₋₋ errors transition, line 148, occurs when the DSP 24 interrupts the meter, the meter receives the status byte from the DSP 24, and the status byte indicates that one or more of the following errors occurred; data overrun error, data overflow error, no zero cross detected in 128 samples. The following sequence is performed:

IF cal₋₋ interval₋₋ count>0 and bit 7 of dsp₋₋ cal₋₋ mode₋₋ status=0

decrement cal₋₋ interval₋₋ count

set the appropriate bit(s) in the dsp₋₋ cal₋₋ mode₋₋ status byte to indicate the type of

error(s) that occurred

If cal₋₋ interval₋₋ count=0

bit 6 of dsp₋₋ cal₋₋ mode₋₋ status=0

dsp₋₋ mode₋₋ data.current₋₋ dsp₋₋ mode=DSP₋₋ CALIBRATION₋₋ MODE

dsp₋₋ cal₋₋ mode₋₋ data.next₋₋ dsp₋₋ mode=DSP-CALIBRATION₋₋ MODE ENDIF

ELSE IF bit 7 of dsp₋₋ cal₋₋ mode₋₋ status=1

bit 7 of dsp₋₋ cal₋₋ mode₋₋ status=0

ENDIF

The meter sends the DSP 24 the CLS (Clear Status) command, dsp₋₋ interface is set to CAL₋₋ CLR₋₋ STATUS₋₋ RESPONSE, block 150, a call is made to set₋₋ dsp₋₋ comm₋₋ timeout (TRUE), and the interrupt service routine exits. In the CAL₋₋ CLR₋₋ STATUS₋₋ RESPONSE state, block 150, the meter is waiting for the Clear Status common acknowledgment byte from the DSP 24. Without synchronizing the test interval to an exact number of cycles, absolute uncertainty from this phenomenon is constant. The cal₋₋ status₋₋ byte₋₋ rcvd₋₋ no₋₋ errors transition, line 152, occurs when the DSP 24 interrupts the meter, the meter receives the status byte from the DSP 24, dsp₋₋ mode₋₋ data.next₋₋ dsp mode does not equal dsp₋₋ LOAD₋₋ CAL₋₋ MODE, and the status byte indicates that no errors occurred during the last momentary interval. The following sequence is performed:

IF cal₋₋ interval₋₋ count>0 and bit 7 of dsp₋₋ cal₋₋ mode₋₋ status=0

decrement cal₋₋ interval₋₋ count

IF cal₋₋ interval₋₋ count=0

bit 6 of dsp cal₋₋ mode₋₋ status=0

dsp₋₋ cal mode₋₋ data.current₋₋ dsp₋₋ mode=DSP₋₋ CALIBRATION₋₋ MODE

dsp₋₋ cal₋₋ mode₋₋ data.next₋₋ dsp₋₋ mode=DSP₋₋ CALIBRATION₋₋ MODE

ENDIF

ELSE IF bit 7 of dsp₋₋ cal₋₋ mode₋₋ status 1

bit 7 of dsp₋₋ cal₋₋ mode₋₋ status=0

ENDIF

The MC₋₋ MSTR line is set to 1, dsp₋₋ interface₋₋ status is set to CAL₋₋ COMPLETE, a call is made to set₋₋ dsp₋₋ comm₋₋ timeout (TRUE), and the interrupt service routine exits.

The no₋₋ errors₋₋ load₋₋ cal₋₋ coeffs transition, line 156, occurs when the DSP 24 interrupts the meter, the meter receives the status byte from the DSP 24, dsp₋₋ mode-data.next₋₋ dsp₋₋ mode equals DSP₋₋ LOAD₋₋ CAL₋₋ MODE, and the status byte indicates that no errors occurred during the last momentary interval. The dsp₋₋ mode₋₋ data.next₋₋ dsp₋₋ mode is set to DSP₋₋ LOAD₋₋ CAL₋₋ MODE when a request to load the DSP 24 calibration coefficients (by calling load₋₋ new₋₋ cal₋₋ coeffs ()) is made. Rather than interrupting momentary interval processing or having to handle the possible confusion that would arise if loading the new coefficients were attempted to just as an interval ended, the request is acknowledged at the end of momentary interval processing. The SCM (Set Commands) command is set to the DSP 24 with the GCC (Get Calibration Coefficients) flag set, the dsp₋₋ interface₋₋ status is set to LOAD₋₋ CAL₋₋ SCM₋₋ ACK, dsp₋₋ mode₋₋ data.current₋₋ dsp₋₋ mode is set to DSP₋₋ LOAD₋₋ CAL₋₋ MODE, a call is made to set₋₋ dsp₋₋ comm₋₋ timeout (TRUE), dsp₋₋ cal₋₋ mode₋₋ data.dsp₋₋ cal₋₋ mode₋₋ status is set to zero, and dsp₋₋ cal₋₋ mode₋₋ data.cal₋₋ interval₋₋ count is set to zero. The interrupt service routine then exits. The momentary interval processing is complete.

In a LOAD₋₋ CAL₋₋ SCM₋₋ ACK state, block 158, the meter is waiting for the acknowledgment byte (00H) for the SCM (Set Commands) from the DSP 24.

The cal₋₋ cls₋₋ resp₋₋ load₋₋ cal coeffs transition, line 160, occurs when the DSP 24 interrupts the meter and the DSP 24 sends its response to the CLS (Clear Status) command, and dsp₋₋ mode₋₋ data.next₋₋ dsp₋₋ mode equals DSP₋₋ LOAD₋₋ CAL₋₋ MODE. The dsp₋₋ mode₋₋ data.next₋₋ dsp₋₋ mode is set to DSP₋₋ LOAD₋₋ CAL₋₋ MODE when a request to load the DSP 24 calibration coefficients (by calling load₋₋ new₋₋ cal₋₋ coeffs()) is made. Rather than interrupting momentary interval processing or having to handle the possible confusion that would arise if loading the new coefficients were attempted just as an interval ended, the request is acknowledged at the end of momentary interval processing.

The SCM (Set Commands) command is sent to the DSP 24 with the GCC (Get Calibration Coefficients) flag set, the DSP 24 interface status is set to LOAD₋₋ CAL₋₋ SCM,₋₋ ACK, dsp₋₋ mode₋₋ data.current₋₋ dsp₋₋ mode is set to DSP₋₋ LOAD₋₋ CAL₋₋ MODE, a call is made to set₋₋ dsp₋₋ comm₋₋ timeout (TRUE), dsp₋₋ cal₋₋ mode₋₋ data.dsp₋₋ cal₋₋ mode₋₋ status is set to zero, and dsp₋₋ cal₋₋ mode₋₋ data.cal₋₋ interval₋₋ count is set to zero. The interrupt service routine then exits. The momentary interval processing is complete.

The cals₋₋ cls₋₋ response₋₋ rcvd transition, line 162, occurs when the DSP 24 interrupts the meter and the DSP 24 sends its response to the CLS (Clear Status) command, and dsp₋₋ mode₋₋ data.next₋₋ dsp₋₋ mode does not equal DSP₋₋ LOAD₋₋ CAL₋₋ MODE. At this point, the MC₋₋ MSTR line is set to 1, dsp₋₋ interface₋₋ status is set to CAL₋₋ COMPLETE, block 164, a call is made to set₋₋ dsp₋₋ comm₋₋ timeout (TRUE), and the interrupt service routine exits. In the CAL₋₋ COMPLETE state, block 164, the meter is waiting for the NWM (New Master) command from the DSP 24.

The NWM₋₋ command₋₋ received₋₋ 2 transition, line 166, occurs when the DSP 24 interrupts the meter and an NWM (New Master) command is read from the DSP 24. At this point the dsp₋₋ interface₋₋ status is set to NORM₋₋ XF₋₋ HIGH₋₋ 2 (in normal mode) or CAL₋₋ XF₋₋ HIGH₋₋ 2 (in calibration mode), and a call is made to set₋₋ dsp₋₋ comm₋₋ timeout (TRUE). The interrupt service routine does not exit in this case.

In a CAL-XF₋₋ HIGH₋₋ 2 state, block 168, the meter is reading the XF signal from the DSP 24 and checking it to determine if it has gone high. The XF signal going high is an acknowledgment from the DSP 24 that the task of switching communication master is complete. If the XF signal does not go high after 5 DSP 24 sample times, the DSP 24 is reset and initialized. This is determined by looking at the Timer C interrupt request flag.

The XF₋₋ signal₋₋ high₋₋ 2 transition, line 170, occurs when the XF signal from the DSP 24 goes high after it has sent the NWM (New Master) command and DSP 24 mode data.next₋₋ dsp₋₋ mode equals dsp₋₋ mode₋₋ data.current₋₋ dsp mode. At this point the dsp₋₋ interface₋₋ status is set to NORM₋₋ QUITE, block 172, (in normal mode) or CAL₋₋ QUIET, block 142, (in calibration mode), a call is made to set dsp₋₋ comm₋₋ timeout (FALSE), a call is made to set DSP 24 comm timeout (FALSE), the interrupt service routine exits, and the momentary interval processing is complete.

The CAL₋₋ IDR₋₋ command₋₋ rcvd transition, line 176, occurs when the DSP 24 interrupts the meter and an IDR (Interval Data Ready) command is read from the DSP 24. At this time the MC₋₋ MSTR line is set to zero, the dsp₋₋ interface₋₋ status is set to CAL₋₋ NWM, block 114, dsp₋₋ cal₋₋ mode₋₋ data.cal₋₋ task₋₋ count is set to zero, and a call is made to set₋₋ dsp₋₋ comm₋₋ timeout (TRUE). The interrupt service routine (dsp₋₋ data₋₋ ready₋₋ isr) does not wait for the NWM (New Master) command. Instead, it exits and the meter goes back to background processing.

The initialize₋₋ dsp transition, line 178, occurs whenever the intialize₋₋ dsp routine is called. It can happen at power up, when a DAP 20 or DSP 24 error occurs, or when a momentary interval timeout occurs. The sequence of events that occur when this routine is called is described in the data flow diagram descriptions.

The dsp₋₋ mode₋₋ change₋₋ norm transition, line 180, occurs when the communication module calls set₋₋ dsp₋₋ cal₋₋ mode (FALSE) and momentary interval processing is not in progress. In this case dsp₋₋ mode₋₋ data.next₋₋ dsp₋₋ mode and dsp₋₋ mode₋₋ data.current₋₋ dsp₋₋ mode are set to DSP₋₋ NORMAL₋₋ MODE and dsp₋₋ interface₋₋ status is set to NORM₋₋ QUIET, block 172. The DSP 24 interface is in the NORM₋₋ QUIET mode between momentary intervals.

The XF₋₋ high₋₋ dsp₋₋ mode₋₋ change₋₋ norm transition, line 184, occurs when the XF signal from the DSP 24 goes high after it has sent the NWM (New Master) command and dsp₋₋ mode₋₋ data.next₋₋ dsp₋₋ mode=DSP₋₋ NORMAL₋₋ MODE. This happens when a request to change the DSP 24 interface mode (by calling set₋₋ DAP 20₋₋ cal₋₋ mode (TRUE)) happens in the middle of momentary interval processing. Rather than interrupt the momentary interval processing, the request is acknowledged at the end of processing. At this point the dsp₋₋ interface₋₋ status is set to NORM₋₋ QUIET, block 172, dsp₋₋ mode₋₋ data.current₋₋ os₋₋ mode is set to DSP₋₋ NORMAL₋₋ MODE, a call is made to set₋₋ dsp₋₋ comm₋₋ timeout (FALSE), and the interrupt service routine exits. The momentary interval processing is complete.

The XF₋₋ high₋₋ dsp₋₋ mode₋₋ change₋₋ start transition, line 186, occurs when the XF signal from the DSP 24 goes high after it has sent the NWM (New Master) command and dsp₋₋ mode₋₋ data.next₋₋ dsp₋₋ mode=DSP₋₋ CAL₋₋ INTERVAL₋₋ MODE. The dsp₋₋ mode₋₋ data.current₋₋ dsp₋₋ mode=DSP₋₋ CAL₋₋ INTERVAL MODE, dsp₋₋ cal₋₋ mode₋₋ data.dsp₋₋ cal₋₋ mode₋₋ status is set to COH (start of calibration interval),dsp₋₋ cal₋₋ mode₋₋ data.cal₋₋ interval₋₋ count=dsp₋₋ cal₋₋ mode₋₋ data.temp₋₋ interval₋₋ count,dsp₋₋ cal₋₋ mode₋₋ data.cal₋₋ task₋₋ count=0, zero out calibration interval accumulators, call set₋₋ dsp₋₋ comm₋₋ timeout (FALSE), dsp₋₋ interface status=CAL₋₋ WAIT₋₋ TO₋₋ START₋₋ INTERVAL, block 11 0, and return from interrupt.

The XF₋₋ high₋₋ one₋₋ more₋₋ interval transition, line 190, occurs when the XF signal from the DSP 24 goes high after it has sent the NWM (New Master) command and dsp₋₋ cal₋₋ mode data.cal₋₋ interval count=1. The call set₋₋ dsp₋₋ comm₋₋ timeout (FALSE) and dsp₋₋ interface₋₋ status=CAL₋₋ START₋₋ LAST₋₋ MOMENTARY₋₋ INT, block 192. The meter waits for the DSP 24 to send an IRD command, which marks the end of the calibration interval, i.e., CAL₋₋ START₋₋ LAST₋₋ MOMENTARY₋₋ INT, block 192.

Accordingly, it is an important feature of the present invention that testing time is significantly reduced and certain testing uncertainties are eliminated as compared to the prior art method. Further, it is an important feature of the present invention that multiple testing functions can be accomplished during this short time interval due to the recording of the accumulations of electrical quantities during the test interval, in effect, one test replaces a sequence of prior art tests.

While preferred embodiments have been shown and described, various modifications and substitutions may be made thereto without departing from the spirit and scope of the invention. Accordingly, it is to be understood that the present invention has been described by way of illustrations and not limitation. 

What is claimed is:
 1. A method of testing an electronic electricity meter using at least one standard meter, the method comprising the steps of:connecting said electronic electricity meter and said at least one standard meter to a source and a load; measuring a plurality of electrical quantities of the source with said electronic electricity meter and said at least one standard meter for a test interval, said test interval being synchronized to an integer number of whole cycles of the source; and comparing said measurement of said electrical quantities of the source by said electronic electricity meter with said measurement of said at least one electrical quantity of the source by said at least one standard meter.
 2. The method of claim 1 further comprising the steps of:determining calibration coefficients for the electronic electricity meter from said comparison of said measurement of said electrical quantities of the source by said electronic electricity meter with said measurement of said electrical quantities of the source by said at least one standard meter; and installing said calibration coefficients in said electronic electricity meter, whereby said electronic electricity meter is calibrated.
 3. The method of claim 1 wherein:said at least one standard meter comprises a plurality of standard meters, each of said standard meters corresponding to one of said electrical quantities.
 4. The method of claim 1 wherein said electrical quantities comprises by element, or phase, or their totals:fundamental potential-squared hours, current-squared hours, Watthours, or varhours; or fundamental plus harmonic potential-squared hours, current-squared hours, Watthours, or varhours; or imputed neutral current-squared hours; apparent Volt-Ampere hours, or distortion Volt-Ampere hours.
 5. A method of testing an electronic electricity meter, the method comprising the steps of:(1) receiving, at said electronic electricity meter, a test ready and length of test message from an external test assembly; said length of test being defined by an integer number of whole cycles of a source; (2) switching said electronic electricity meter from a communication mode of operation to a test/calibration mode of operation; (3) clearing test accumulators in said electronic electricity meter and said external teat device; (4) sending a synchronized test start signal from said electronic electricity meter to said external test assembly; (5) separately accumulating at least one measured electrical quantity of the source for each of said electronic electricity meter and said external test assembly until the length of the test is exhausted; (6) sending a synchronized test end signal from said electronic electricity meter to said external test assembly; (7) switching said electronic electricity meter from said test/calibration mode of operation to said communication mode of operation; (8) receiving a send test data message at said electronic electricity meter from said external test assembly; (9) sending said at least one accumulated measured electrical quantity from said electronic electricity meter to said external test assembly; and (10) verifying said at least one accumulated measured electrical quantity of said electronic electricity meter with a corresponding said at least one accumulated measured electrical quantity of said external test assembly.
 6. The method of claim 5 wherein said external test assembly comprises:a standard meter; and a processor connected to said electronic electricity meter and said standard meter for interfacing therewith.
 7. The method of claim 5 further comprising the steps of:(11) determining calibration coeficients, at said external test assembly, for the electronic electricity meter from said at least one accumulated measured electrical quantity of said electronic electricity meter and said corresponding at least one accumulated measured electrical quantity of said external test assembly said measurement; and (12) installing said calibration coeficients in said electronic electricity meter, whereby said electronic electricity meter is calibrated.
 8. The method of claim 5 wherein:said at least one electrical quantity comprises a plurality of electrical quantities.
 9. The method of claim 5 wherein said at least one electrical quantity comprises by element, or phase, or their totals: fundamental potential-squared hours, current-squared hours, Watthours, or varhours; or fundamental plus harmonic potential-squared hours, current-squared hours, Watthours, or varhours; or imputed neutral current-squared hours; apparent Volt-Ampere hours, or distortion Volt-Ampere hours. 